package com.community.charge.service;

import java.util.List;
import com.community.charge.domain.Bill;
import com.community.charge.domain.vo.BillVoByStatus;

/**
 * 账单管理Service接口
 * 
 * @author ruoyi
 * @date 2025-10-28
 */
public interface IBillService 
{
    /**
     * 查询账单管理
     * 
     * @param billId 账单管理主键
     * @return 账单管理
     */
    public Bill selectBillByBillId(Long billId);

    /**
     * 查询账单管理列表
     * 
     * @param bill 账单管理
     * @return 账单管理集合
     */
    public List<Bill> selectBillList(Bill bill);

    /**
     * 新增账单管理
     * 
     * @param bill 账单管理
     * @return 结果
     */
    public int insertBill(Bill bill);

    /**
     * 修改账单管理
     * 
     * @param bill 账单管理
     * @return 结果
     */
    public int updateBill(Bill bill);

    /**
     * 批量删除账单管理
     * 
     * @param billIds 需要删除的账单管理主键集合
     * @return 结果
     */
    public int deleteBillByBillIds(Long[] billIds);

    /**
     * 删除账单管理信息
     *
     * @return 结果
     */
    int deleteBillByBillId(Long billId);

    Long count();

    List<BillVoByStatus> groupByStatus();

    //查询要删除那条数据的支付状态
    Integer getIdByStatus(Long[] billIds);
}
